云服务器部署Tomcat项目全过程 您所在的位置:网站首页 tomcat应用服务器 Tomcat server 云服务器部署Tomcat项目全过程

云服务器部署Tomcat项目全过程

2024-07-05 09:28| 来源: 网络整理| 查看: 265

前言

之前学习了Java Web,能用eclipse在本地直接映射运行Tomcat,十分方便,这篇博客主要是记录,用eclipse写好的WEB项目,如果部署到云服务器上,让大家看到。有关Java web项目的学习,可以看我这两篇博客: WEB编程学习之Windows安装运行Tomcat WEB编程学习之Eclipse编译JSP

本博客原创,转载请注明!

本地工作 WAR文件

WAR文件是一个Java Web的打包版,Tomcat可以直接解包WAR文件生成WEB项目,很方便。 当我们在eclipse写好项目之后,直接导出WAR文件。 在项目根目录下,右键–Export–WAR file,然后选择保存位置就行了。 这个WAR文件到时候直接放在Tomcat的webapps文件夹下就行了。 在这里插入图片描述

云服务器 安装Java

Tomcat需要Java环境,所以要给服务器安装JDK,云服务器我用的是阿里云ECS,安装的系统是Ubuntu 20.04版本。 有关Ubuntu安装Java的教程可以参见我的这篇博客:Linux学习之Ubuntu安装Java 要补充的是:最好选择方法二安装JDK,方便维护。

安装完Java之后,因为后边还需要用到mysql,把MySQL的jar包放入Java中,将mysql-connector-java-5.1.8-bin.jar文件放在,Java根路径/jre/lib/ext中,关于这个jar文件,网上有很多,我这里就不放出来了。

安装MySQL

这个安装Mysql过程很曲折,花费了我很长的时间去研究,主要原因是新版的MySQL安装完成之后不用设置密码,它会把Ubuntu的root用户权限赋给MySQL的root权限,就不用再输入密码,虽然方便了很多,但是JDBC做用户验证的时候就比较麻烦了,需要输入密码,查了很多资料,花了很长时间,很多方法都没用,最后终于找到一篇有效的博客:在Ubuntu20.04上安装MySQL8.0及正确配置。我这里就说一下过程:

安装MySQL sudo apt update sudo apt install mysql-server

第一个是更新源,第二个是安装MySQL,sudo这个指令如果是服务器是用root用户登陆的,就不需要sudo。 安装好之后,输入

systemctl status mysql

输出的结果是Active: active (running)就说明MySQL安装成功了。

设置密码

这一步花了真的很长时间,网上很多资料都无效,再次感谢上面的那个博客。 在命令行输入

mysql

发现真的不需要密码就可以进入mysql了,然后我们来设置一下root的密码,注意分号

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root的密码';

root的密码就是要设置的密码,输入完之后,看到

Query OK, 0 rows affected (0.01 sec)

就说明可以了,之后我们进入MySQL需要用

mysql -u root -p

命令进入MySQL。然后就可以建立数据库啊,建立表格啊啥的。

安装Tomcat 部署Tomcat

这个其实比较简单了,在我上面的博客里有,这里就简单的说一下过程就行了,因为我的eclipse仅支持的Tomcat最高版本是9.0,我这里就下载9.0版本的了。 先去官网踩点获取网站:Apache Tomcat 然后找到tar.gz版本的,右键–复制链接地址 在这里插入图片描述 然后登录服务器,在命令行输入wget 复制的下载地址,对于我自己就是输入这样的:

wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.46/bin/apache-tomcat-9.0.46.tar.gz

如果速度太慢,可以在Windows下载好之后,然后用WinSCP上传到服务器中就行了。 下载好后,输入

sudo tar -xvaf apache-tomcat-9.0.46.tar.gz

解压tar.gz文件,然后进入tomcat根文件,进入bin然后运行startup.sh文件就行了,比如我的就是

cd apache-tomcat-9.0.46/bin/ ./startup.sh

然后没有报错就行了。

访问网站

首先先要在服务器的安全组中开放8080端口: 进入阿里云控制台–(左侧)安全组–然后选择实例–(中间)手动添加–然后开放8080端口就行了。 在这里插入图片描述 对了,这里还要再提一嘴,最好也开放80端口和443端口,一个是HTTP的端口,一个是HTTPS端口,方便之后的网站访问。 开放之后,我们在本地的浏览器中输入http://公网ip:8080或者是http://域名:8080,如果出现了Tomcat的默认界面就成功了。

部署WAR文件

恭喜,到了现在,你已经完成了一大半了,让我们来完成之后的任务。 我们直接将WAR文件放在Tomcat根目录的webapps文件夹下。 然后还需要将tomcat先关闭,然后再开启

cd apache-tomcat-9.0.46/bin/ ./shutdown.sh ./startup.sh

开启成功之后,在等一会会,然后我们进入webapps文件下,就发现WAR文件被Tomcat解包了。 然后我们就可以访问了,输入http://公网ip:8080/项目名/初始界面。 例如我上面的项目就是http://公网ip:8080/love/index.html 如果看到了自己的网站,那恭喜,你现在已经成功了,博客后边的只是一些优化。

进阶部署 设置默认界面

如果我们希望,我们能通过http://公网ip:8080或者http://域名:8080直接访问我们的网站,就需要配置一下了。 要修改的文件有两个:

web.xml

第一个是web项目的web.xml一般就是在项目根目录下的WEB-INF目录下,在标签之中,添加内容

index.html index.htm index.jsp

就是在之前把这段代码加入就行了。主要是用来设置项目的欢迎页。我的项目的欢迎页是index.html,如果你的是xx.html就可以修改xx.html。

server.xml

这个是Tomcat的配置文件之一,文件位置是 Tomcat根目录/conf下,打开它 在这里插入图片描述 在Host标签下,加入这样的一句话

path是网站的访问地址,我这里留空,docBase是项目路径,推荐用绝对路径 然后还需要将tomcat先关闭,然后再开启

cd apache-tomcat-9.0.46/bin/ ./shutdown.sh ./startup.sh

然后就可以用http://公网ip:8080或者http://域名:8080直接访问我们的网站了。

部署证书

这个是卡我时间最长的,很麻烦,而且网上教程也有些乱,我这里就简单的梳理下过程 我已经购买了域名 部署证书的作用是用https访问我们的网站,如果不安装证书,就是用的http,这样浏览器会警告该网站不安全。 首先申请证书,因为我的服务器是阿里云的,就去阿里云平台搜索SSL证书左侧SSL证书,中间选择免费证书。 在这里插入图片描述 然后就按照它的提示一步一步部署就行了,最后申请通过就可以下载证书了,下载的时候证书选择Tomcat的,解压之后,是一个PFX后缀的证书和一个txt后缀的密码。关于如何安装阿里云给了详细的过程: 安装PFX格式证书 简述一下过程: (1).开启443端口 这个上面部署Tomcat部分已经说过,在安全组中开启80端口和443端口 (2).别名设置 因为Tomcat 9强制要求证书别名设置为tomcat,我们需要对下载的证书做一些操作,

keytool -changealias -keystore 证书的名字.pfx -alias alias -destalias tomcat

用cmd打开证书路径,然后输入上面的代码,然后它会提示输入密钥库口令,然后打开和证书一起的被解压缩出来的pfx-password.txt文件,里边就是密码,输入密码的时候,密码是不可见的,所以直接输就行了,输入的时候cmd不会显示密码,输完直接回车就行了。 (3).部署证书 准备工作基本做完,然后可以把证书上传到服务器中,我就把证书放在在Tomcat根目录下conf文件夹中。 然后配置server.xml文件,打开 Tomcat安装目录/conf/server.xml 然后找到Connector标签,按照如下更改 keystoreFile是证书所在的绝对路径,keystorePass是txt文件中的密钥,其余基本都是一样的

例如下图: 在这里插入图片描述 部署完成之后,重启Tomcat就行了。 如果你能通过https://域名直接访问成功了,那么恭喜你,你成功了!!! 如果你没有成功,可以把所有文件删除,然后重来一遍,我就是最开始的一遍没成功,然后删了,按照流程重新来过就成功了。

小结

过程极其复杂,综合了云服务器、Linux、MySQL、Tomcat、Java等等知识,不过之前我用宝塔+wordpress直接生成了一个模板博客网站,用了很多现成的插件,很方便,但是如果想自己掌控一切,自己写一个web程序也是很有意思的一件事。=w=



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有